Long distance and metropolitan area network (MAN) communications rely on short-haul and long haul fiber optic networks to transport data and telephony traffic. One conventional way to transmit data in fiber networks is through a Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) protocol. In a SONET/SDH network, data travels in fixed size envelopes that repeat every 125 microseconds. With this synchronous fixed-length framing, every byte (e.g., 8 bits of data) inside a SONET/SDH frame represents a 64 Kbps (64000 bits/sec) channel. The 64 Kbps channel has the same rate as supported by current telephone channels (also called DS0 channels).
SONET was designed to efficiently carry telephony Plesiochronous Digital Hierarchy (PDH) channels such as T1/T3. This was easily achieved by dividing the payload area in fixed slots called virtual tributaries (VT). These virtual tributaries are then grouped together to form higher-rate channels. These fixed slots are efficient for carrying fixed-bandwidth telephony channels because any one or more channels can be added or removed from a bundle without processing an entire payload of channels. Because SONET frames repeat at fixed intervals, these virtual tributaries have fixed locations and time intervals, and it is easy to extract T1/T3 or fractions of T1 without processing the entire SONET payload.
With growing volume in data traffic, however, SONET/SDH networks must now carry a significantly large number of data packets—such as ATM (Asynchronous Transfer Mode—53 bytes each) and IP (Internet Protocol—variable-size packets) in addition to traditional T1/T3 channels. The synchronous framing structure of SONET/SDH that is quite efficient for carrying T1/T3 channels is not able to carry both fixed-bandwidth and variable-bandwidth channels in an optimum way.
SONET/SDH has an inefficient utilization of fiber bandwidth for data packets. For data transport, some of the virtual tributaries are created for transporting fixed-bandwidth T1 traffic while others are used for transporting packet data packets such as ATM and IP. Since an individual virtual tributary has a limited bandwidth, extra mechanisms have to be used for sending data packets of higher bandwidth using virtual tributaries.
In one technique, a 10 Mbps data packet channel, for example, is inverse-multiplexed into smaller bandwidth streams and then sent on many virtual tributaries. At the other end, these streams are integrated to reconstruct the full 10 Mbps channel. In another method, many of the virtual tributaries are concatenated using hardware to create a higher-bandwidth virtual tributary for transmitting the high-bandwidth data packet.
SONET/SDH lacks of support for data mixing. A SONET fiber link carrying frames containing ATM cells cannot carry POS, because ATM cells frequently carry QoS-sensitive data such as CES (Circuit Emulation Service) or multimedia traffic. Introduction of SONET frames containing POS will cause significant delays (e.g., 125 μS for each POS frame inserted in the link).
In each of these methods, a unique Path Signal Label (PSL) value in the POH (Path Over-Head) field of the SONET frame identifies the type of data transmission inside the payload. The payload area is also referred to as SPE (Synchronous Payload Envelope). Because a PSL value identifies contents of the entire SONET payload envelope, only one type of transmission can be supported at a time in a SONET frame.
One method for data transmission is to use the entire SONET SPE for data packets. The SONET payload area is filled with IP packets using Packet-over-SONET (POS) packets. POS packets are packets by 0x7E (Hexadecimal) at both ends of a packet, with a framing using PPP (Point-to-Point Protocol). Many packets can be put inside a single SONET SPE. This method can only support variable-length packet protocol such as IP. A SONET fiber containing these packets cannot transport T1/T3 channels or real-time streams using ATM cells. The reason for this limitation is that each SONET SPE containing IP packets, for example, introduces a delay of 125 microseconds. Such a delay is not acceptable for T1/T3 circuits or real-time streams using ATM cells.
Another method for data transmission is to use the entire SONET SPE for ATM cells. In this case, a SONET SPE is filled with ATM Cells. ATM cells are delimited by their fixed length, and are tracked by doing a hunt for their header checksum byte. Services such as T1, Frame Relay, Ethernet, etc. are transported over ATM using standard protocols. This requires complex implementations in hardware and incorporation of ATM service interworking at each service boundary.
Another method for data transmission is to use the virtual tributaries (VT) for data packets and ATM cells. In this method, a SONET SPE is partitioned in many fixed-bandwidth slots called virtual tributaries (VT). For data transport, some of these virtual tributaries may contain T1/T3 type of fixed-bandwidth traffic while others are used for transporting packet data packets such as ATM and IP.
Since an individual virtual tributary has a limited bandwidth, extra mechanisms have to be used for sending data packets of higher bandwidth using virtual tributaries. In one technique, a 10 Mbps data packet channel, for example, is inverse-multiplexed into smaller bandwidth streams and then sent on many virtual tributaries. At the other end, these streams are integrated to reconstruct the full 10 Mbps channel. In another method, many of the virtual tributaries are concatenated using hardware to create a higher-bandwidth virtual tributary for transmitting the high-bandwidth data packet.
Each of these methods uses a fixed-bandwidth channel or a set of channels for transmitting network data packets. In each method, bandwidth capacity of the fiber is poorly utilized since network data packets are bursty in nature and average bandwidth utilization is quite low.
Referring to FIG. 1, examples of various data types are shown. A set of time-division-multiplexed (TDM) packets 12a-12n, a set of ATM packets 14a-14n and a set of POS packets 16a-16n are shown in connection with a SONET fiber line 18. In a SONET network, only one type of data can be transferred at a time. The data is identified by a unique PSL (path signal label) byte value inside a Path Over-Head (POH) of the TDM packets 12a-12n, the ATM packets 14a-14n, the POS packets 16a-16n, of PDH traffic. The nodes at different points in the SONET fiber line 18 have different types of data to send on the network.
Conventional data communication networks follow a 7-layer stack of OSI (Open Systems Interface) where packets are sent from node to node using a link layer addressing (i.e., layer 2). A physical layer (i.e., layer 1) determines the physical interface for transport. The layer 2 address for Ethernet, for example, is a 6-byte value called MAC (Media Access Control). For ATM (Asynchronous Transfer Mode) a 53-byte cell is used for framing. The ATM cell contains a VPI (Virtual Path Identifier) and VCI (Virtual Connection Identifier) that are used for link layer addressing (layer 2).
For efficient routing and networking topology efficiency, a higher layer of addressing (called layer 3, or network layer) is needed. This is usually done for IP (Internet Protocol) or similar other protocols.
Nodes on a network use layer 2 addresses to connect to each other, then parse the layer 3 addresses (such as IP addresses) and headers. The layer 3 parsing determines network topology before deciding which route to send the packets. Such parsing is often time-consuming and requires processing by microprocessors and other pieces of hardware logic.
MPLS (Multi-Protocol Label Switching) is a technique where routes that a packet move through are assigned a series of labels (e.g., 20 bits each out of a 32-bit value). The labels are also referred to as route tags. The labels are inserted between layer 2 (address values for Ethernet frames) and layer 3. (network layer values in PPP frames). These labels are changed, added or dropped as the packet travels from node to node. Using MPLS, intermediate nodes simply look at a label value, consult an internal table to determine where to forward the values, and then send the packet out. Using MPLS, intermediate nodes do not have to look at layer 3 values, which results in increased performance.
The MPLS specification provides for MPLS labels that are carried inside a packet. A special protocol identifier declares the existence of the MPLS labels. In an Ethernet network, MPLS labels are inserted after MAC addresses (and before network layer addresses start).
In Ethernet networks, user data is encapsulated with layer 3 (network layer) addresses, MPLS labels (optional), and layer 2 (data link) addresses as prefixes. The user data is followed by a 16/32-byte Cyclic Redundancy Check (CRC) value. The header CRC field is inserted after the MPLS labels, but before the user data, as shown by the following TABLE 1:
TABLE 1DataMPLSLayer 3UserErrorLayer 2 AddressesIdentifierLabelsaddressesDataDetectionDestinationSourceProtocolOne or. . . NetworkPayloadCRCMACMACIdentifier ormore 32-Layer(6 bytes)(6 bytes)IEEE802.3bit wordsaddresses . . .Length Field(2 bytes)
For wide area network (WAN) communications, another protocol Point-to-Point Protocol (PPP) is used. Similar to Ethernet, MPLS labels are inserted between PPP protocol identifiers and user data, as shown by the following TABLE 2:
TABLE 2PPPFrameControlIdentifier,MPLSUserErrorFrameBoundaryAddressWordetc.LabelsDataDetectionBoundary0111AddressControlPPP NetworkOne orPayloadCRC01111110IDmore 32-1110bitwords
As a packet goes through a network, intermediate nodes identify whether MPLS labels are embedded in the packet. For example, the following steps describe such an operation for Ethernet and PPP protocols:
(i) check the type of the port from which the packet was received;
(ii) for Ethernet, use MAC address comparing logic to look past the first two fields (i.e., source and destination MAC addresses). For PPP, look past the address and control fields to read the protocol identifier to determine the presence of an MPLS ID value;
(iii) check the MPLS protocol ID (identifier). If the ID is present, MPLS labels are inserted between layer 2 and layer 3 addresses;
(iv) consult an MPLS label lookup table to determine how to process the packet. Check to see if the top label value has to be swapped with a new label, removed from the label list, or if a new label has to be added;
(v) recompute CRC on the packet since the MPLS value has changed;
(vi) send the packet from an output port determined by the MPLS label lookup table; and
(vii) if the output port type is different from input port type, reformat the frame for the protocol supported on the output port.
Referring to FIG. 2, an example of an optical network with multiple protocol end-points 40 is shown. Limitations of current MPLS framing for optical networks are illustrated. While it is essential to have layer 2 addressing preceding all other bytes on the legacy networks such as Ethernet, ATM, and Frame Relay, having such an architecture for optical networking nodes that interconnect different networks is quite expensive and unnecessary.
Consider MPLS is used for label switching packets from network A to network B or network C. Protocol awareness and packet frame conversions are required at every interconnecting node. For example, the router on network A participates with other routers on the network in MPLS label assignments. The router adds labels on the Ethernet packets coming from network A, before sending them on the ATM network. If the packet must go through ATM or frame relay networks protocol conversions are necessary. Additionally, MPLS assignments using current framing mechanism are necessary.
When MPLS is used for packet switching across optical networks (such as SONET rings having intermediate nodes) each intermediate node must have extra logic to process the layer 2 headers and the understand specific MPLS labeling. Such processing must be performed for MPLS switching to send each packet. Such processing for every packet on an optical network requires both hardware and software logic for network packet processing at every optical node. Such logic is not only expensive, but can also severely limit packet-processing performance.
Various conventional protocols have been developed to improve bandwidth usage by attempting to partially solve two problems in SONET networking (i) lack of support for data mixing, and (ii) bandwidth reuse limitations. Such conventional protocols have been partially able to achieve additional bandwidth either by creating fatter pipes with VT, by filling payloads with ATM cells carrying different types of data, or by using SONET link as a multi-node access network using Ethernet framing for data packets.
While virtual tributaries provide an efficient way to transport PDH traffic, allocation of bandwidth for LAN data such as 10/100 Mbps using a SONET fiber containing T1 traffic becomes difficult. To support 10 Mbps through Virtual tributaries one has to either dedicate an entire STS-1 (51 Mbps) frame, or use several virtual tributary channels and to perform inverse multiplexing.
Virtual concatenation concatenates several VT channels into bigger virtual pipes to carry higher bandwidth traffic. With such a protocol, while some virtual tributaries carry T1/T3 data as usual, others are concatenated for transport of higher bandwidth data traffic such as 10/100 Mbps links.
However, virtual concatenation allocates a fixed bandwidth for LAN. Virtual tributaries cannot dynamically adjust bandwidth usage on a packet-by-packet basis. While it is possible to change the concatenated bandwidth through software, such an implementation does not yield much for bandwidth utilization. Bursty LAN traffic bandwidth usage is typically quite low, resulting in significant waste when used over a fixed bandwidth virtual pipe (average use of a 10 Mbps link is 20%, and if an entire STS-1 is used the efficiency becomes about 4%). Another problem with virtual concatenation is that while one virtual pipe may be overloaded with traffic, others may be underutilized. Virtual concatenation cannot dynamically adjust network loads on different channels.
Another conventional approach to increase the utilization of SONET bandwidth is to fill the payload area with ATM cells using a technique known as ATM VP (Virtual Path) multiplexing. ATM VP multiplexing encodes packets in ATM cells and then inserts the cells inside a SONET SPE. The ATM VP multiplexer typically utilizes CES to carry DS0/1 PDH traffic.
However, operations, administration and maintenance (OAM) operations of ATM network are different from that of SONET, and management of the two protocols can become difficult. Similarly, ATM network routing and switch-to-switch signaling data paths are different from IP network routes, resulting in network operational complexity.
Network traffic statistics monitoring has shown that a significant percentage (about 45%) of network traffic comprises IP packets with small packet sizes (e.g., around 40 bytes). With IP over ATM (rfc2684—Multiprotocol Encapsulation over ATM AAL5) payload size slightly exceeds what can fit inside a single ATM cell. Such an arrangement results in transmission of two ATM cells, with the second cell that is mostly ATM overhead and stuffing bytes. This, with other ATM overheads, means having to allocate extra SONET bandwidth for IP transport if ATM is used as a transport protocol.
In addition, using ATM for sending different services requires implementation of ATM transport protocols and interworking for all related protocols (such as IP-over-ATM, Frame Relay-ATM Internetworking, circuit emulation, etc.) in the device. Such implementation requires a high level of complexity in hardware and software, resulting in higher costs of manufacturing and operation of networks.
Such conventional network architectures are not efficient for transmitting variable-length IP packets that form the majority of data network traffic on the Internet. Data network traffic comprises variable-length IP packets and fixed-length ATM cells (i.e., 53 bytes).
As more and more data is being transported on SONET/SDH rings, there is a need to send variable-length packets on pre-existing SONET/SDH networks. These packets originate out of routers and other data access devices. While SONET/SDH networks must transport these data packets, they must also continue to support TDM-style fixed length packets for telephony and leased line applications.
Conventional approaches cannot mix POS with ATM cells in a single SONET SPE. Conventional approaches do not leave some area of the SONET SPE reserved for VTs and others for POS and/or ATM cells.
Limitations of conventional approaches include one or more of the following (i) inability to mix TDM channels with packet-oriented data over SONET/SDH rings due to timing constraints of the TDM channels without a fixed bandwidth virtual tributary mechanism and (ii) limiting data channels sent on fiber carrying T1 lines to Virtual tributaries (since virtual tributaries are of fixed bandwidth, this restriction limits data channels to fixed bandwidth operation).
Therefore, if a SONET SPE is carrying all ATM cells, it cannot carry IP variable-length packets, and vice versa. Such switches route all packets coming at one tributary to another until switching paths are changed through reprogramming.
Conventional approaches do not take into account network loading conditions and do not support dynamic bandwidth provisioning. Conventional approaches also have increased traffic on core links from too much concentration into too few links. Transporting IP traffic over virtual tributary channels that was originally designed for DS0/1/3 connectivity is inefficient. Because VT assignment is fixed, IP transport is not able to take advantage of total available SONET/SDH bandwidth.
In conventional approaches, IP packets are constrained to go through some pre-configured VT channels while other VT channels may be under-utilized. Once a VT channel is dedicated for a particular traffic and is put on a specific circuit-switched path, the topology does not change, even if traffic conditions change.
Conventional approaches have the following disadvantages (i) ATM and Packets are implemented on different rings because of QoS and timing issues; (ii) very high cost for new fiber and SONET equipment for Telco/ISP/MAN; (iii) only one type of packet goes inside a SONET SPE at one time (the remaining bytes of frame on SONET are wasted) (SONET packets go around the entire SONET ring, limiting bandwidth); and/or (iv) the only way to support telephony channels along with data packets is to allocated part of SONET frame for packet data transmissions (which results in an inefficient bandwidth usage).